package com.smartleanx.module.hrm.controller.admin.companysystem.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 公司制度库分页回显 Response VO")
@Data
public class CompanySystemPageRespVo {

    @Schema(description = "主键id")
    private Long id;

    @Schema(description = "制度名称")
    private String name;

    @Schema(description = "制度编号")
    private String code;

    @Schema(description = "制度分类id")
    private Long typeId;

    @Schema(description = "是否符合民主程序")
    private Integer complianceStatus;

    @Schema(description = "状态")
    private Integer status;

    @Schema(description = "是否需员工确认")
    private Integer confirmStatus;

    @Schema(description = "员工确认信息")
    private String confirmInfo;

    @Schema(description = "回显的制度分类名称")
    private String typeName;

    @Schema(description = "已学习人数")
    private Integer learned;

    @Schema(description = "已学习人数")
    private Integer unLearned;


    @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String creator;

    @Schema(description = "创建人昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("创建人")
    private String creatorName;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新人", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String updater;

    @Schema(description = "更新人昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("更新人")
    private String updaterName;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;
}
